From 047d2b5f6d63cce2321e3ce5f7436aea0c629c9b Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Tue, 27 May 2014 20:41:50 +0200 Subject: [PATCH] Update GtkImage icons when the direction is changed Don't call gtk_widget_set_state_flags(), it filters the direction flags. Instead, call gtk_widget_update_state_flags() directly. https://bugzilla.gnome.org/show_bug.cgi?id=730833 --- gtk/gtkwidget.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 9397ff1ba3..6453059bbc 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -11652,17 +11652,15 @@ gtk_widget_emit_direction_changed (GtkWidget *widget, gtk_widget_update_pango_context (widget); direction = gtk_widget_get_direction (widget); - state = widget->priv->state_flags; - state &= GTK_STATE_FLAG_DIR_LTR | GTK_STATE_FLAG_DIR_RTL; switch (direction) { case GTK_TEXT_DIR_LTR: - state |= GTK_STATE_FLAG_DIR_LTR; + state = GTK_STATE_FLAG_DIR_LTR; break; case GTK_TEXT_DIR_RTL: - state |= GTK_STATE_FLAG_DIR_RTL; + state = GTK_STATE_FLAG_DIR_RTL; break; case GTK_TEXT_DIR_NONE: @@ -11671,7 +11669,9 @@ gtk_widget_emit_direction_changed (GtkWidget *widget, break; } - gtk_widget_set_state_flags (widget, state, TRUE); + gtk_widget_update_state_flags (widget, + state, + state ^ (GTK_STATE_FLAG_DIR_LTR | GTK_STATE_FLAG_DIR_RTL)); g_signal_emit (widget, widget_signals[DIRECTION_CHANGED], 0, old_dir); } -- 2.30.2